package cn.com.twoke.app.pin_dou_dou.color;

import cn.com.twoke.app.pin_dou_dou.utils.ColorLabUtils;

import java.awt.*;
/**
 * 计算 ΔE*ab 色差（CIE76标准）
 * 这是最简单的色差公式
 */
public class CIE_76 implements ColorDifferenceCalculator{

    @Override
    public double deltaE(Color color1, Color color2) {
        double[] lab1 = ColorLabUtils.rgbToLab(color1);
        double[] lab2 = ColorLabUtils.rgbToLab(color2);

        double dl = lab1[0] - lab2[0];
        double da = lab1[1] - lab2[1];
        double db = lab1[2] - lab2[2];

        return Math.sqrt(dl * dl + da * da + db * db);
    }

}
